package com.gt.aep.base.dao.systemManage;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gt.aep.base.entity.systemManage.SysPermission;
import com.gt.aep.base.entity.systemManage.SysPermissionIdentityRole;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SysPermissionIdentityRoleDao {
    /**
     * 新增身份角色-权限关系
     * @param sysPermissionIdentityRole
     * @return
     */
    int insert(SysPermissionIdentityRole sysPermissionIdentityRole);

    /**
     * 修改身份角色-权限关系
     * @param sysPermissionIdentityRole
     * @return
     */
    int update(SysPermissionIdentityRole sysPermissionIdentityRole);

    /**
     * 批量删除身份角色-权限关系
     * @param ids
     * @return
     */
    int delete(String[] ids);

    /**
     * 根据身份角色id查询权限列表
     * @param pid 权限id
     * @return
     */
    List<SysPermissionIdentityRole> getListByPid(@Param("pid") String pid);

    /**
     * 根据身份角色id查询权限个数
     * @param pid
     * @return
     */
    int getCountByPid(@Param("pid") String pid);

    /**
     * 根据身份角色id获取列表
     * @param identityRoleId 身份角色id
     * @return
     */
    List<SysPermission> getListByIdentityRoleId(@Param("identityRoleId") String identityRoleId);

    /**
     * 根据身份角色id获取符合的权限个数
     * @param identityRoleId
     * @return
     */
    int getCountByIdentityRoleId(@Param("identityRoleId") String identityRoleId);

    /**
     * 清除identityRid相关记录
     * @param identityRoleId
     * @return
     */
    int deleteByIdentityRid(@Param("identityRoleId") String identityRoleId);

    /**
     * 清除identityRid相关记录
     * @param pid
     * @return
     */
    int deleteByPid(@Param("pid") String pid);
}
